1. Field of the Invention
The present invention relates to managing object deletion.
2. Description of Prior Art
Client-server computer storage configurations or networks are well known. The “client” (human user, or graphical user interface (GUI), or workstation, etc.) is operatively coupled to hardware/software functionality known as the “server” which services the client by responding to client requests to store information and/or retrieve stored information. Multiple clients can be operatively coupled to multiple servers in a particular client-server network configuration.
Effective management of client-server networks is very important to ensure that the networks operate as intended and serve network users as expected. This management function may be accomplished through distributed management software which can be distributed throughout a client-server network. If a client-server network is running such software that is also object-oriented, typically many objects reside in each of the clients and/or servers. An object, in computer software terms, is a dedicated area of memory which can be thought of as an impervious container holding both data and instructions within itself, both defining itself and its relationships to other objects in the computer system or network. An object can send and receive messages to and from other objects, respond and react to such messages (e.g. commands) but shall normally be impervious to internal scrutiny. For example, in a storage processor each object may describe or relate to a specific tangible detail in the processor (e.g. a fan, power switch, cache memory, power supply, disk drive interface, etc.). These tangible objects in the storage processor can send messages to each other and to other objects outside the processor such as a disk array.
In management software running within its client-server environment, there may be a group of service providers termed “providers”, which are delegated specific managerial tasks to perform within the distributed management software of the client-server system, i.e. they are delegated specific services to “provide”. In a CLARiiON® storage system marketed by EMC Corporation, such providers may include: directory provider, persistence (file replication) provider, security provider, snapshot copying (backups and data modeling) provider, mirroring (permanent backup storage) provider, clone (local replication) provider, LUN provider (creates or destroys LUNs), meta LUNs (virtualization) provider, etc. Each provider is concerned only with performing its own prescribed task. These providers are, of course, software entities, but they may be modular in design. They can, therefore, be modularly “plugged” into a software framework allowing easily-made additions to, or reductions of, the overall functionality of the storage system's management software. These providers act upon objects and although each provider is concerned with performing only its own task, it may act upon one or more objects that are also being acted upon by other providers. Thus, there may be dependency or interaction, albeit unwanted, between certain providers because of objects which are common to those certain providers. The various providers acting upon the same object may have conflicting goals or purposes for that same object.